PlantWise Help

PlantWise Command Interpreter

Although you are encouraged to keep the PlantWise Command Interpreter window minimized, many issues can be diagnosed and resolved there.

In the following sections, items shown in a bold typeface indicate commands you type into the PlantWise Command Interpreter. Items shown in plain typeface indicate return values or prompts.

When starting PlantWise, opens the Command Interpreter window as a minimized icon on the START bar. After initializing PlantWise and starting all the appropriate processes, a command prompt will become available in that window. That prompt is the PlantWise command line. That is, you may type commands to that line and PlantWise will evaluate the command and print the result. The PlantWise command line looks something like this:

  • D++(1):

Each time a command is entered, the prompt comes back with the number in parentheses increased by one:

  • D++(1): (+ 1 2)
  • 3
  • D++(2):

Commands that you give in the PlantWise Command Interpreter are usually surrounded by parentheses ( () ) or preceded by a colon ( : ).

If PlantWise is caught in an infinite loop, pressing the <BREAK> key while in the Command Interpreter will halt the process.

Commands to Use

If PlantWise seems to have “fallen asleep” – all processes just stop – a carriage return while in the Command Interpreter will “wake up” the program.

There are several commands you can use in the Command Interpreter.

Command Description
Process List You can inspect PlantWise’s internal processes using the :ps command. The following trace shows an example of how to do that and what may be seen.
D++(1): :ps
;;;
;;; 1. cad-program- ACTIVE - waiting-for-input
;;; 2. PlWDotNet-Interface - ACTIVE - waiting-for-input
;;; 3. UI-SERVER - ACTIVE - waiting-for-input
;;; 4. Design++ Socket Server - ACTIVE - waiting for input
;;; 5. Initial Lisp Listener - ACTIVE - NIL
D++(2):

The five processes numbered 1 through 5 are those that should always be running.

  • cad-program is CAD.
  • PLWDotNet-Interface is PlantWise portion of the User Interface.
  • Ui-Server is what PlantWise uses to prompt you for information.
  • Design++ Socket Server is how external programs communicate with PlantWise.
  • Initial Lisp Listener is the core PlantWise process.

The CAD process, numbered 1, will be running whenever the underlying Knowledge Based Engineering application and PlantWise are linked.

Depending on what is going on with PlantWise when given the :ps command, additional processes may also be displayed.

PlantWise cannot run without the processes Design++ Socket Server and the Initial Lisp Listener. If either of those processes are not present, you may have to kill the PlantWise processes from the Windows Task Manager (see Appendix F - Terminating a Process).

Exit PlantWise You may also quit PlantWise completely from the command line with the command (dpar-exit).
D++(8): (dpar-exit)
;;; Unregistering CAD ; killing “dgui-int”
;;; Unregistering UI Server
;;; Unregistering Design++ GUI interpreter
; killing “Design++ Socket Server”
; killing “Initial Lisp Listener”
%

PlantWise will prompt you to save the model before closing the Command Interpreter and CAD.

If PlantWise will not exit with the (dpar-exit) command, you can use (dpp-exit-design++). This command will kill all PlantWise processes and WILL NOT ask for confirmation or prompt you to save the model; therefore, this is the last option you should attempt.

The PlantWise Debugger

Most errors encountered in PlantWise are caught by the User Interface, but on rare occasions, PlantWise may send control into its debugger. When in the debugger, the PlantWise command line will look something like this:

  • [1] D++(24):

The number in brackets before the PlantWise prompt indicates the level of the debugger that is currently active. You may or may not see an error message preceding the PlantWise prompt. The important thing to understand is that YOU CAN DO NOTHING IN THE DEBUGGER except abort out of it. Abort whatever process opened the debugger with the command :reset.

  • [1] D++(24): :reset
  • D++(25):

If entered into the debugger, you should get out of it immediately, using the command :reset. If the problem persists, notify Bentley Systems (see Appendix F - Reporting Problems).